KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK$CIFHL NAME/ ܜA>?/ ܜA>?/  ? ! ˃ !PENTER FILE NAME/ ܜA>?/ ܜA>?/ K (Ɋ'I  (E'I( ‡°&‹Œ°&6ͱ΍/62ω 09 ɠ3<ERROR-MUST BE LESS THAN 256>Ч3<3< 3<3<3<3>3<VALUE OVER 65535 ($FFFF)<3> !K 7SBC3238INC3240BEQ2241(SBC-Y)2245SBC-ZX2246INC-ZX2248SED1249SBC-Y3253SBC-X3254INC-X3P!P 3>3>O  *K J K3<3>ADRS(r3<?"PRESS K Y1169LDA#2170TAX1172LDY3173LDA3174LDX3176BCS2177(LDA-Y)2180LDY-ZX2181LDA-ZX2182LDX-ZY2184CLV1185LDA-Y3186TSX1188LDY-X3189LDA-X3190LDX-Y3192CPY#2193(CMP-X)2196CPY-Z2197CMP-Z2198DEC-Z2200INYKKK ܜA>/ ܜA>/ ܜA>?/ ܜA> LOADING ARRAYݱ?/ ܜA3<>OIXSABAOCĀ€OOPBFLBHBHLHDWNBADNOCCNBK  ˉ ! BRANCH TOO FAR>ʰ BRANCH TOO FAR>ʰ ɂѦ3>?PSAVE PROGRAM(Y/N)TO EXECUTE 'SYS'<>?P(B)EGIN AGAIN OR (E)NDO3>K  TO DEFAULT TO 49152>P STARTING ADDR<S @‚Â&' &A3L<' YLq). "C L9:LC +Lw edLLedc4b3 ea34a edLbc#"eda4 3 TA-Z2134STX-Z2136DEY1138TXA1140STY3141STA3142STX3144BCC2145(STA-Y)2148STY-ZX2149STA-ZX2150STX-ZX2152TYA1153STA-Y3154TXS1157STA-X3160LDY#2161(LDA-X)2162LDX#2164LDY-Z2165LDA-Z2166LDX-Z2168TAeYJe dcdbdaL$;_0ȱ_pL IJdeLpL p aIȥf %bIȥcIȥdIȥeI;LereYJaHc4b3Lᧅ "ADRS"; 10);"OPCODE";25);"OPERAND"] X1 40 : (114); : c **************************** SET ADDRESS AND INPUT OPCODE **************************** SA0 : "PRESS TO DEFAULT TO 4915 *************& SA OPER OPER 254(SAOPER)J SA OPER OPER (OPERSA)2Pe **************z ENDING ROUTINE  **************NB SABA  (147)* X1 5 : : 4"SAVE PROGRAM(Y/N)";AN$> AN$"Y"  *************& SA OPER OPER 254(SAOPER)J SA OPER OPER (OPERSA)2Pe **************z ENDING ROUTINE  **************NB SABA  (147)* X1 5 : : 4"SAVE PROGRAM(Y/N)";AN$> AN$"Y"  SA,D% : SASA1@ , B%1 S$(N)OC$ : AD(N)SA1 : NN1 : 230T 6 *************h @ ENTER OPERAND| J ************* T 25); : (145); : OPR$ ^AD(N)SA : S$(N)OC$ : C$(N)OPR$ : NN1 h (OPR$,1)"$" OPER(OPR$) r ("FOR DOCUMENTATION"H20(CR$)2 : H);CR$.H20(NM$)2 : H);NM$S: H20(IS$)2 : H);IS$ : H20(BK$)2 : H);BK$ :H20(CM$)2: H);CM$H20(NM$)2 : H);NM$ : H20(F$)2 : H);F$"LD$"LOADING A SA 1/  B%2 SA,OPER : SASA1 : OPER0 : 230D  SA,D%: SASA1  SA,LB : SASA1 : SA,HB : SASA1 : OPER0 : 230  **********************  CONVERT HEX TO DECIMAL  ********************** H$(OPER$,2)  L1 | 222,DEC-X,3 224,CPX#,2 230,INC-Z,2% 232,INX,16 233,SBC#,2F 234,NOP,1V 236,CPX,3f 237,SBC,3v 238,INC,3 240,BEQ,2 249,SBC-Y,3 253,SBC-X,3 254,INC-X,3 ************************157);(145) :2v (18);"VALUE OVER 65535 ($FFFF)";(146) : Q ************************p CONVERT TO 2 BYTE NUMBER ************************LBOPER(OPER256)256HB(OPER256) ************* BRANCH OFFSETLDA-X),2Z 162,LDX#,2d 164,LDY-Z,2#n 165,LDA-Z,25x 166,LDX-Z,2E 168,TAY,1V 169,LDA#,2f 170,TAX,1v 172,LDY,3 173,LDA,3 174,LDX,3 177,(LDA-Y),2 185,LDA-Y,3 186,TSX,1 188,LDA-Y,3  S14 :EX5324829:EYEX6= X0 X1:"LOGO.O",8,1I 49152[( X1 7::f2(S);< 13);"ICROCOMSCRIBE"F 9);""P ""Z W0 W1:S142:N0: 110d W1 W0 : S14 :N1n 58726 x P1  (147):""" 53281,120 53280,9k(H$" DISK MENU " : L(H$) :C20L2 : C);"";H$;""q2< F0 F1 : "FINGER.O",8,1F X1 8P M$(X):6);X;". ";M$(X):Z : d:C$" CHOOSE BY NUMBER ":L(C$):C20L2: ,ADING ASSEMBLER"$ A8 M$(A),8,1280,9k(H$" DISK MENU " : L(H$) :C20L2 : C);"";H$;""q2< F0 F1 : "FINGER.O",8,1F X1 8P M$(X):6);X;". ";M$(X):Z : d:C$" CHOOSE BY NUMBER ":L(C$):C20L2: !Щ D ЩЍЩ'Т@?@?ТFЍРȌТʎР2ȈТd2Рd ``~8 NUMBER ":L(C$):C20L2: 5 IN CHECK OR MONEY ORDER": 610I::M$"MAKE CHECKS PAYABLE TO MICROCOMSCRIBE" :610D: M$"": 610 :"":620N(147):"LOAD ";(34);"MENU";(34);",8"XbL20(M$)2: L);M$:lM$"HIT ANY KEY": 61 Щ'Тu@?Т22ЍР2ЍР2 𾍔@A`???? NUMBER ":L(C$):C20L2: $"LUCK WITH ٠!":6100 ::620:(147)i : M$"": 610 :""; (142);:M$"TO ORDER  ASSEMBLY LANGUAGE FOR KIDS ":610 M$" COMMODORE 64 BY MAIL, FILL":610M$"OUT THE FOLLOWING FORM & 53281,1 : 53280,1 : (144)1 40009X0P( A : A255 60n2 B$ : C : XX1 : 40< DEC%(X),OPCODE$(X),BYTE%(X)F AD(255),S$(255),C$(255)PERX1Zd I0 X1 : DEC%(I) : OPCODE$(I) : BYTE%(I)n ASSEMBLY LANGUAGE FOR KIDS: ": 610# ^B hM$" COMMODORE 64 ": 610l r:M$"BY WILLIAM B. SANDERS": 610 : |M$"": 610  ""::620  X832 895:X,0::(147) M$"": 62" N03 "STARTING ADDR";SA : SA0 SA49152= BASAL SA;10);h OC$ : OC$"Q" 760p C0  OC$OPCODE$(C) D%DEC%(C) : B%BYTE%(C) : 290 CC1 : CER 10);(18);"ERROR";(146) : 230  260 " B%1 80: EX,N: EY,N+ CC1: C16 40> X1 11::l L$"LITERATE MICROCOMPUTER DOCUMENTATION" X1 (L$):UL$UL$"": 2);L$ 2);"";UL$ "" :M$"8982 STIMSON CT.": 610 M$"SAN DIEGO, CA 92129": 610C);"";C$;"" n 49152* xA (49300)48^ (147) : A8 "LOAD ";(34);M$(A);(34);",8" KIDS ASSEMBLER1,KIDS ASSEMBLER2,SOURCE READER-D HEX-DEC CONVERT,KIDS MONITOR,SPRITE ASSEMBLER,BINARY-DEC C/KIDS ASSEMBLER A8 "LO OPR$,1)"$" 4906 | OPER 65535 630 : OPER0: 340Z  OC$"BNE" OC$"BEQ" 700  OPER255 B% 3 560: OPER0 : 340  OPER 255 640  ************  COMPILE CODE  ************  B%2 SA,D% : SASA 1/  B%2 SA,OPER : SASA1 : OPER0 : 230D  SA,D%: SASA1  SA,LB : SASA1 : SA,HB : SASA1 : OPER0 : 230  **********************  CONVERT HEX TO DECIMAL  ********************** H$(OPER$,2)  L1 !0 v 197,64: 197,64,64 :ROCOMSCRIBE": 610:M$"8982 STIMSON CT": 610fM$"SAN DIEGO, CA 92129": 610: X1 25:LU$LU$"":"NAME";LU$;"" : "ADDRESS";LU$&"CITYSTATEZIP"0:M$"ENCLOSE $14.9 (H$) : HD((H$,L,1))/OPEROPER16HD48((HD57)7);& L : L0 **********]: ERROR TRAPnD **********N (18);"ERROR-MUST BE LESS THAN 256"X W1 400 : W : (146); : (145);b X1 27 : (32); : l (157);(AND SEND TO": 610:AM$"MICROCOMSCRIBE": 610:M$"8982 STIMSON CT": 610fM$"SAN DIEGO, CA 92129": 610: X1 25:LU$LU$"":"NAME";LU$;"" : "ADDRESS";LU$&"CITYSTATEZIP"0:M$"ENCLOSE $14.9 I x (146);(147)> "ADRS"; 10);"OPCODE";25);"OPERAND"] X1 40 : (114); : c **************************** SET ADDRESS AND INPUT OPCODE **************************** SA0 : "PRESS TO DEFAULT TO 491510 (14);Q "":M$"VAILABLE AT YOUR FAVORITE": 610:M$"BOOK OR COMPUTER STORE" 610::M$"OR":610::M$"ORDER FROM ":610 : M$"": 610 "":M$"NJOY THE PROGRAMS AND GOOD":610 M SA,D% : SASA1@ , B%1 S$(N)OC$ : AD(N)SA1 : NN1 : 230T 6 *************h @ ENTER OPERAND| J ************* T 25); : (145); : OPR$ ^AD(N)SA : S$(N)OC$ : C$(N)OPR$ : NN1 h (OPR$,1)"$" OPER(OPR$) r ( :: 620 (14)$ 491526  X1 7::Q  12);"ICROCOMSCRIBE"^ "(142); ,M$"": 610 6"" @M$"DOCUMENTATION FOR PROGRAMS ON":610 JM$"THIS DISK IS ALL IN THE BOOK": 610: TM$" A TWlKIDS ASSEMBLER202AINTRODUCTION MENULOGO.OFINGER.OKIDS ASSEMBLER1KIDS ASSEMBLER2KIDS ASSEM1-CSOURCE READER-DKKKIDS MONITORSPRITE ASSEMBLERHEX-DEC CONVERT BINARY-DECSOURCE READER-CCASSETTE LOADERZ/KIDS ASSEMBLERC/KIDS ASSEMBLER%KKWARNING!WARNING.OHEX/DEC CONVERTKKKKKKKKKKK % 53281,1 : 53280,1 : (144)2 (147)Z DEC%(151),OPCODE$(151),BYTE%(151)e( 25102 I0 150 : DEC%(I) : OPCODE$(I) : BYTE%(I)< IF (146);(147)P "ADRS"; 10);"OPCODE";25);"OPERAND" Z X1 40 : (114) "Q" 740 C0E OC$OPCODE$(C) D%DEC%(C) : B%BYTE%(C) : 230 CC1 : C152 10);(18);"ERROR";(146) : 170 200 B%1 SA,D%: SASA1 : 170 ************* ENTER OPERAND  *************  25);: BVS" 660 ^ BF1 BF0 : 270M h OPER255 B% 3 520: OPER0 : 270f r OPER 255 600y | ************  COMPILE CODE  ************  B%2 SA,D% : SASA 1  B%2 SA,OPER : SASA1 : OPER0 : 170   L :  **********! ERROR TRAP2 **********\& (18);"ERROR-MUST BE LESS THAN 256"0 W1 400 : W : (146); : (145);: X1 27 : (32); : D (157);(157);(145) :N (18);"VALUE OVER 65535 ($FFFF)";(1 TOO FAR":BF1:OPER0:G SAOPER OPERSA 127 "BRANCH TOO FAR":BF1:OPER0:m SA OPER OPER 254(SAOPER) SA OPER OPER (OPERSA)2 ************** ENDING ROUTINE **************NB SABA  (: pLBBA(BA256)256 : HB(BA256)Mz "ENTER FILE NAME";NF$ :NF$"0:"NF$(BA)",P,W"\2,8,2,NF$p2,(LB)(HB); XBA SA1: OC(X)2,(OC); X2 820 *********** OPCODE DATA ***********X,332,JSR,3 33,(AND-X),236,BIT-Z,2+37,AND-Z,2;38,ROL-Z,2I40,PLP,1X41,AND#,2h42,ROL-A,1v44,BIT,345,AND,346,ROL,348,BMI,2 49,(AND-Y),253,AND-ZX,254,ROL-ZX,2(56,SEC,12SR-ZX,288,CLI,1 89,EOR-Y,393,EOR-X,3)94,LSR-X,3796,RTS,1I97,(ADC-X),2Z101,ADC-Z,2k"102,ROR-Z,2z,104,PLA,16105,ADC#,2@106,ROR-A,1J108,(JMP),3T109,ADC,3^110,ROR,3h112,BVS,2r113X,3144,BCC,2145,(STA-Y),2&148,STY-ZX,2)0149,STA-ZX,2;:150,STX-ZX,2JD152,TYA,1[N153,STA-Y,3jX154,TXS,1{b157,STA-X,3l160,LDY#,2v161,(LDA-X),2162,LDX#,2164,LDY-Z,2165,LDA-Z,2166,LDX-9,LDA-X,3H190,LDX-Y,3R192,CPY#,2\193,(CMP-X),2*f196,CPY-Z,2;p197,CMP-Z,2Lz198,DEC-Z,2[200,INY,1k201,CMP#,2z202,DEX,1204,CPY,3205,CMP,3206,DEC,3208,BNE,2209,(CMP-Y),2213,CMP-ZX,; : d, n ****************************O x SET ADDRESS AND INPUT OPCODEr **************************** SA0 : "PRESS TO DEFAULT TO 49152" "STARTING ADDR";SA : SA0 SA49152 BASA SA;10); OC$ : OC$ (145);: OPR$-  (OPR$,1)"$" OPER(OPR$)I " (OPR$,1)"$" 450t , OPER 65535 590 : OPER0: 270 6 OC$"BNE" OC$"BEQ" 660 @ OC$"BCC" OC$"BCS" 660 J OC$"BPL" OC$"BMI" 660 T OC$"BVC" OC$" SA,D%: SASA1C  SA,LB : SASA1 : SA,HB : SASA1 : OPER0 : 170`  **********************}  CONVERT HEX TO DECIMAL  ********************** H$(OPER$,2)  L1 (H$) : HD((H$,L,1)) OPEROPER16HD48((HD57)7)46) : X ************************7b CONVERT TO 2 BYTE NUMBERVl ************************rvLBOPER(OPER256)256HB(OPER256) ************* BRANCH OFFSET ************* SAOPER SAOPER 128 "BRANCH147) X1 5 : : % "SAVE PROGRAM(Y/N)";AN$9* AN$"Y" 870d4 : : "PROGRAM IS";NB;"BYTES LONG"> "TO EXECUTE 'SYS'";BA : H "(B)EGIN AGAIN OR (E)ND";DE$R DE$"B" 70\ : "END" : f (147) : X1 5 : 0,BRK,11,(ORA-X),25,ORA-Z,2$6,ASL-Z,218,PHP,1?9,ORA#,2O$10,ASL-A,1].13,ORA,3k814,ASL,3yB16,BPL,2L17,(ORA-Y),1V21,ORA-ZX,2`22,ASL-ZX,2j24,CLC,1t25,ORA-Y,3~29,ORA-X,330,ASL-57,AND-Y,3<61,AND-X,3F62,ROL-X,3 P64,RTI,12Z65,(EOR-X),2Bd69,EOR-Z,2Rn70,LSR-Z,2`x72,PHA,1o73,EOR#,274,LSR-A,176,JMP,377,EOR,378,LSR,380,BVC,281,(EOR-Y),285,EOR-ZX,286,L,(ADC-Y),2|117,ADC-ZX,2118,ROR-ZX,2120,SEI,10121,ADC-Y,3A125,ADC-X,3R126,ROR-X,3e129,(STA-X),2v132,STY-Z,2133,STA-Z,2134,STX-Z,2136,DEY,1138,TXA,1140,STY,3141,STA,3142,ST Z,2168,TAY,1169,LDA#,2170,TAX,1172,LDY,3-173,LDA,3<174,LDX,3K176,BCS,2^177,(LDA-Y),2p180,LDY-ZX,2181,LDA-ZX,2 182,LDX-ZY,2184,CLV,1 185,LDA-Y,3*186,TSX,14188,LDY-X,3>18 2214,DEC-ZX,2216,CLD,1 217,CMP-Y,3221,CMP-X,3/ 222,DEC-X,3? 224,CPX#,2R 225,(SBC-X),2c$ 228,CPX-Z,2t. 229,SBC-Z,28 230,INC-Z,2B 232,INX,1L 233,SBC#,2V 234,NOP,1` 236,CPX,3j 237,SBC,3t 2 SEMBLY LANGUAGE FOR KIDS:" :CM$"COMMODORE 64"+ IS$"SEE" : F$"FOR DOCUMENTATION"I H20(CR$)2 : H);CR$g H20(NM$)2 : H);NM$ : H20(IS$)2 : H);IS$ : ( H20(BK$)2 : H);BK$ :H20(CM$)2: H);CM$2 H20(NM$)z  (147)# "FILENAME";NF$=NF$"0:" NF$ ",S,R"L(9,8,9,NF$V29,A$_< A$oF ST0 50vP9LINK 49200PART1PART2SOURCE ASSEM  (147)= "BEGINNING ADDRESSOR FOR NEXT"e"ADDRESS. PRESS 'Q' TO QUIT ";AD$w( AD$"Q" 2AD(AD$)< KAD AD15: NKFHB(N256)PLBN(N256)256Z X1 2d X1 NHBn X2 NLB xN%(N (K) : 20& **********************C  CONVERT DECIMAL TO HEX`  ********************** HEX$HEX$(48N%7 (N%9)) " AD15: NKFHB(N256)PLBN(N256)256Z X1 2d X1 NHBn X2 NLB xN%(N (147) : R17 "STARTING ADDRESS AS BLOCK:"Q "BLOCK 11: 704-767"k( "BLOCK 13: 832-895"2 "BLOCK 14: 896-959"< "BLOCK 15: 960-1023"F X 1 39P (18);(32); : : Z "BLOCK NUMBER";BL d BL 11 BL 13 256 HB (SA256)2 "ENTER SPRITE NAME";SN$X SN$ "0:" SN$ (BL) ",P,W"g 2,8,2,SN${ 2,(LB)(HB); " V SA SA 62 : SC(V) ,2,(SC); 6 V @232); : : Z "BLOCK NUMBER";BL d BL 11 BL 13  (147)< "DEC OR HEX CONVERSION (D/H)Q=QUIT ";C$O C$"H" 200`( C$"Q" s2 C$"D" 20<HEX$"" : N0F "DECIMAL VALUE";NK N 65535 " MUST BE 65535 OR LESS": 70PHB(N256)ZLBN(N256)256 d X "DECIMAL VALUE= ";DE" : 20? **********************\  CONVERT HEX TO DECIMALy  **********************  L1 (H$) : HD((H$,L,1)) "DEDE16HD48((HD57)7) , L : 6 ********************** @ CONVERT DECIMA  (147)( "BINARY VALUE "; B$> (B$) 8 20N( X 0 7a2V$(B$,X1,1)<V(V$) : V1 X7 : "BONG!" : TD0 : BV0: : 20FP 7XP V 1 BV2PZTDTDBVdBV0n Xx TD 255 "TOO BIG": 2038,INC,3~ 240,BEQ,2 241,(SBC-Y),2 245,SBC-ZX,2& 246,INC-ZX,25 248,SED,1F 249,SBC-Y,3W 253,SBC-X,3h 254,INC-X,3u ****** HEADER ****** CR$"(C) COPYRIGHT 1984" : NM$"BY WILLIAM B. SANDERS" BK$"AS2 : H);NM$ : < H20(F$)2 : H);F$?F LD$"LOADING ARRAY" : X1 10 : : : H20(LD$)2SP H);(18);LD$YZ ,INC-X,3u ****** HEADER ****** CR$"(C) COPYRIGHT 1984" : NM$"BY WILLIAM B. SANDERS" BK$"ASU "DECIMAL VALUE="; TD3 "ANOTHER(Y/N) ";AN$O AN$"Y" TD0 : 20FINGER.OKIDS ASSEMBLER1KIDS ASSEMBLER2KIDS ASSEM1-CSOURCE READER-D16) : 250 N%NN%16: 250= X1 H1$HEX$ : HEX$""V H1$"0" H1$"00"\ n HEX$H1$HEX$ HEX$"$"HEX$ : HEX$;"-";:HEX$"" N (K) N%(N16) : 250 N%NN%16: 250 HEX$;"";K;"-";(K):HEX$"" AD$ (147) : X0B "NAME OF SOURCE FILE";NF$:NF$NF$".S"R22,1,0,NF$c(22,A$,B$,C$r2 A$,B$,C$<A$"":B$"":C$""F ST0 40P22:C$""< ST0 40F A$,(B$,3)P22H20(NM$)2 : H);NM$: H20( BL 14 BL 15 90% nSA BL64< x XSA SA62 3K "ROW";R;W A,B,Cy A255 B255 C255 130 X,A : X1,B : X2,C R R 1 : ************* WRITE TO DISK ************* LB SA(SA256)  (147) : X0. "NAME OF FILE";NF$>21,1,0,NF$I(21,BAT221,OCb< BAX,OCpF BAX,OCzPXX1Z ST0 50d 21SEE" : F$"FOR DOCUMENTATION"H20(CR$)2 : H);CR$H20(NM$)2 : H);NM$: H20(1 2 n X1 NHB% x X2 NLB; N%(N16) : 310P N%NN%16: 310o X1 H1$HEX$ : HEX$"" H1$"0" H1$"00" HEX$H1$HEX$ HEX$"$"HEX$ : "HEX="; HEX$: : 20 H$" ":DE0 "HEX VALUE ";H$ 250RL TO HEX J **********************B THEX$HEX$(48N%7 (N%9))H ^0o X1 H1$HEX$ : HEX$"" H1$"0" H1$"00" HEX$H1$HEX$ HEX$"$"HEX$ : "HEX="; HEX$: : 20 H$" ":DE0 "HEX VALUE ";H$ 250  (147) ""0 53281,15:53280,12N " TURN UP YOUR SOUND "a P1 1000:( X0 X1:"WARNING.O",8,12 491527:::8 ""9""<" YOU'D BETTER BACK UP YOUR DISK" F:"BEFK D Щ'Т@@@?ТFЭ ԩԍԭԭԩԠԍԍԍԍ(йО`????` dfb 63,255,63 dfb 63,255,63 KKKKKKKORE YOU START PROGRAMMING":7 P:"IN ASSEMBLY LANGUAGE"i Z" "{ d X1 8:: n""KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK